#include <iostream>
#include <vector>  //vector的头文件
using namespace std;

/*
	auto关键字：自动类型推断,编译的时候要加 -std=c++11
	原理：C++依据赋值运算右边的类型，自动推断左边的类型
*/

int fun(int a,int b)
{
	return a+b;
}

template<typename T>
T add(T a,T b)
{
	return a+b;
}

int main()
{
	//例子1：
	//int a=78;
	//auto b=a; //b就是int类型
	//cout<<b<<endl;
	
	//需要注意的问题：必须立马赋值
	// int a=78;
	// auto b; //错误：没有立马赋值
	// b=a;
	// cout<<b<<endl;
	
	//例子2：保存函数的返回值
	//auto result=fun(12,13);
	//cout<<result<<endl;
	
	//例子3：保存模板函数的返回值
	auto result1=add(45,36);
	auto result2=add(45.5,36.9);
	cout<<result1<<endl;
	cout<<result2<<endl;
}